From dbcd24adf4b3fccdf23cc98e132fe75f4f63df3f Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Fri, 26 Mar 2021 19:48:41 -0400 Subject: [PATCH] composetable: Limit algorithmic checking Only check for combinations of up to 2 dead keys with a base character. We don't want to spend ages generating all permutations of long sequences. --- gtk/gtkcomposetable.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gtk/gtkcomposetable.c b/gtk/gtkcomposetable.c index fb5ab6abe6..7aa9792e3b 100644 --- a/gtk/gtkcomposetable.c +++ b/gtk/gtkcomposetable.c @@ -1190,6 +1190,12 @@ gtk_check_algorithmically (const guint16 *compose_buffer, for (i = 0; i < n_compose && IS_DEAD_KEY (compose_buffer[i]); i++) ; + + /* Allow at most 2 dead keys */ + if (i > 2) + return FALSE; + + /* Can't combine if there's no base character */ if (i == n_compose) return TRUE; -- 2.30.2